#ifndef SERIALPORTDEFINE_H
#define SERIALPORTDEFINE_H
#include <QString>
#include <string>
#include <QTimer>
#include <QMessageBox>
#include <QDateTime>
#include <QMetaEnum>
#include <mutex>
#include <memory>
#include <QMap>
#include <QSharedPointer>
#include <QThread>
#include <QVector>
#include <QJsonObject>
#include <QFile>
#include <QJsonDocument>
#include <QJsonArray>
#include <QFileInfo>
#include <QDir>
#include <QEventLoop>
#include <QSerialPort>
#include <QMutex>
#include <QDebug>
#include <QTextCodec>
using namespace std;

#define CFGDIR(subDir)				(QString("/Config/%1").arg(subDir))			//配置文件

// 串口参数
struct PSeriaPortInfo
{
    QString		name;       // 串口名称
    QString		comNO;      // 串口号
    int			baudrate;   // 波特率
    int			databits;   // 数据位
    QString		parity;     // 校验位
    QString		stopbits;   // 停止位
};

// 疲劳驾驶参数
struct PSfatigueInfo
{
    int     fatigue;    // 疲劳报警
    int     gaze_round; // 左顾右盼报警
    int     no_portrait;// 无人像报警
    int     speeding;   // 超速报警
    QString warnType;   // 报警类型
};

// 车辆状态参数
struct PSvehicleInfo
{
    int     fatigue;    // 疲劳报警
    int     gaze_round; // 左顾右盼报警
    int     no_portrait;// 无人像报警
    int     speeding;   // 超速报警
};

// 货物位移参数
struct PSdriftInfo
{
    int     fatigue;    // 疲劳报警
    int     gaze_round; // 左顾右盼报警
    int     no_portrait;// 无人像报警
    int     speeding;   // 超速报警
};

// 页面参数
struct PSettingInfo
{
    PSfatigueInfo m_psfatigueInfo;// 疲劳驾驶
    PSvehicleInfo m_psvehicleInfo;// 车辆状态
    PSdriftInfo m_psdriftInfo;// 货物位移
};

// 系统参数
struct PSysparamInfo
{
    QString sremote_udp_ip;// 指挥车地址
    QString slocal_udp_ip;// 本地地址
    int     sudp_port;// 端口编号
    QString svehicle_serial;// 车辆状态串口
    QString sdrift_serial;// 货物位移串口
    QString sfatigue_serial;// 疲劳驾驶串口
    QString sposition_serial;// 定位授时串口
    QString cplate;// 报警车辆车牌号
    QString marchnum;// 行军预案编号
};

#endif // SERIALPORTDEFINE_H
